package mka.puzzle;

import mka.puzzle.shape.Circle;
import mka.puzzle.shape.Shape;
import mka.puzzle.shape.ShapeList;
import mka.puzzle.shape.Square;
import mka.puzzle.util.Function;
import mka.puzzle.util.FunctionShape;

public class SampleShapeThread {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		ShapeList list = new ShapeList();
		Puzzle puzz = new Puzzle();
		System.out.println("Puzzle Area: " + puzz.getArea());
		int number = 10;

		System.out.println("Length: " + list.getLength());
		for (Shape shape : list.getShapeList()) {
			System.out.println("Element: " + shape.getName());
			System.out.println(shape.allPointBound().size());
		}
//		System.out.print(list.get(0).getPointList());
		

//		// Random Add Element
//		for (int i = 0; i < number; i++) {
//			Function.addRandomShape(list);
//			System.out.println("Element: "
//					+ list.getShapeList().get(i).getName());
//			System.out.println("Area: " + list.getShapeList().get(i).getArea());
//		}

//		// Add Element
//		for (int i = 0; i < number; i++) {
//			Shape s = (Shape) Function.createRandomShape();	
//			list.addShape(s);
//			if (s.getName().equals("Square")) {
//				Square square = (Square) s;
//				square.setSide(2);
//				System.out.println("Element: " + square.getName());
//				System.out.println("Area: " + square.getArea());
//			} else {
//				Circle circle = (Circle) s;
//				circle.setRadius(2);
//				System.out.println("Element: " + circle.getName());
//				System.out.println("Area: " + circle.getArea());
//			}
//			
//			System.out.println("Element " + s.getName());
//			System.out.println("Area: " + list.getShapeList().get(i).getArea());
//
//			System.out.println("Element: "
//					+ list.getShapeList().get(i).getName());
//			System.out.println("Area: " + list.getShapeList().get(i).getArea());
//		}

	}
}
